Flypaper Concepts

Sessions

Flypaper records two types of information, MIDI cues defined by the user and the actual MIDI messages received by Flypaper via Apple's MIDI Manager.  Flypaper stores its dictionary of MIDI cues and the actual MIDI messages into a Session Document.    The MIDI messages (including timing and port information) is held in the Session Document's log.  You'll recognize a Flypaper Session Document on the desktop by it's icon.

To open up Flypaper with a Session Document, simply double click the icon of the Session Document from the document, or use the "Open" menu item from the File menu in Flypaper.  The list of received MIDI bytes are shown in the log, a scrollable window displaying MIDI messages.  The MIDI cues are shown in another window, the Session Window.

Cues and Responses

MIDI messages are difficult to read and locate information in, so Flypaper allows you to "define" a series of MIDI messages into a collection called a cue.  For example, MIDI Note-On messages are three bytes.  An example of a Note-On message would be:

90 40 50 (hexidecimal)

     The   "9" of the 90 indicates that this is a Note-On message, while the "0" of the 90 tells us that the message is on Channel 1.  The next two bytes indicate the key number and the key velocity.  In this case, the key number is 64 ( 4 * 16 = 64... see Appendix C: Hexidecimal for the Faint at Hex if this makes you uncertain), which is an "E" for musicians, and the key velocity is 90.  Once we know all of this information, it is easy to define a "Note On" cue in Flypaper that becomes part of the Session Document's vocabulary of MIDI messages.  A cue has a name and an icon associated with it, both of which you may specify when creating or editing a Flypaper cue (see Figure 1).  This makes reading your log and identifying MIDI messages much simpler, because you are no longer searching for symbolic data.

     Once a MIDI cue is defined in Flypaper, you can search the log for instances of that cue, or you can set up triggered responses to that cue.  Responses are just like cues except that they issue some action rather than identify a defined set of MIDI bytes. The simplest way to understand cues and responses is to understand cues as "input" and responses as "output" from Flypaper.  For instance, you may wish an alert dialog to appear (a response) whenever a Sysex start message (a cue)  is identified in the incoming MIDI messages.

Cues may also set or take user variables.  Flypaper has sixteen user variables that may hold values during your Flypaper session.  For instance, you may want to store MIDI controller values in a user variable so that you can pass those controller values to the slider reaction, which shows a graphic slider with some value.

Flypaper has eight cue types for you to work with.  Two of the eight are cues, the other six are reactions.   Below is a brief description of what each cue does.  For detailed information on the format and specifics for each cue, please reference 5. Cues later in this manual.

Flypaper has eight cue types for you to work with.  Two of the eight are cues, the other six are reactions.  

  MIDI Cue and Reaction Cue
Holds a description of the MIDI information to search for, or the MIDI information to send out

  And Also... Cue
Causes an additional reaction when the preceding cue is recognized

  Alert Reaction Cue
Brings up a dialog with some user-specified text in it when executed

  Sound Reaction Cue
Plays the "System Beep" sound when executed

  Value Display Reaction Cue
Shows the decimal value of a user variable in a window.

  Keyboard Reaction Cue
Shows information on a graphic keyboard, by taking two values: which note to highlight and a which note to unhighlight.

  Slider Reaction Cue
Shows information on a graphic slider, by taking one value: the value of the slider.

Delay Reaction Cue
Delays for a specified count of milliseconds when executed.

 Apple Event Cue
Triggers a Session Definition reaction when an Apple Event is received that matches the cue's definition (an Apple Event type such as 'plno'.. you may define as many as you wish).  This is a very powerful automation feature that allows you to control your MIDI hardware and Flypaper from another Macintosh application such as FileMaker Pro™ or HyperCard™.

Session Definitions

Flypaper allows you to organize a system of cues and responses together into a definition.  A definition is one cue, one response, and port and channel information to identify input and output.  All definitions are shown in the Flypaper document's Session Window.